package com.sztx.pay.center.core.service.bean.rpc;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@SuppressWarnings("serial")
public class OrderWithdraw implements Serializable {
	/**
	 * 提现记录ID
	 */
	private String withdrawOrderId;

	/**
	 * 提现用户内部ID
	 */
	private String payerUserId;

	/**
	 * 提现用户账户ID
	 */
	private String accountId;

	/**
	 * 提现金额
	 */
	private BigDecimal withdrawAmount;

	/**
	 * 实际金额
	 */
	private BigDecimal payAmount;

	/**
	 * 提现手续费
	 */
	private BigDecimal withdrawFee;

	/**
	 * 提现类型
	 */
	private String withdrawTypeStr;

	/**
	 * 提现状态
	 */
	private String withdrawStatusStr;

	/**
	 * 提现关联账户ID
	 */
	private String referUserId;

	/**
	 * 渠道ID
	 */
	private String channelId;

	/**
	 * 银行编号
	 */
	private String bankId;

	/**
	 * 提现时间
	 */
	private Date addTime;

	/**
	 * 更新时间
	 */
	private Date updateTime;

	/**
	 * 实际支付时间
	 */
	private Date payTime;

	/**
	 * 提现订单渠道，0网站，1手机等
	 */
	private String withdrawChannelStr;

	/**
	 * 内部状态，0正常，1作废
	 */
	private String innerStatusStr;

	/**
	 * 来源IP
	 */
	private String sourceIp;

	/**
	 * 前端回调通知URL
	 */
	private String notifyUrl;

	/**
	 * 后端回调返回URL
	 */
	private String returnUrl;

	/**
	 * 外部订单号
	 */
	private String orderId;

	/**
	 * 审批类型，0无需审批,1需要审批
	 */
	private String verifyTypeStr;

	/**
	 * 审批人ID
	 */
	private String verifyUserId;

	/**
	 * 审批人姓名
	 */
	private String verifyUserName;

	/**
	 * 审批人IP
	 */
	private String verifyIp;

	/**
	 * 备注
	 */
	private String remark;
	
	/**
	 * 绑定的提现银行卡id或支付宝id
	 */
	private String bindNo;

	/**
	 * 预定提现时间
	 */
	protected String withdrawTime;
	
	/**
	 * 当前子业务编号
	 */
	private byte busniessId;
	
	/**
	 * 当前子业务状态
	 */
	private String busniessStatusStr;
	
	/**
	 * 平台渠道id
	 */
	protected String platChannelId;
	/**
	 * 平台渠道id描述
	 */
	private String platChannelIdDesc;
	/**
	 * 业务类型(mobileCharge、weChatMall.....)
	 */
	protected String businessType;
	
	/**
	 * 提现方式 
	 */
	protected String withdrawWay;
	
	/**
	 * 提现到的银行卡号
	 * 
	 */
	protected String withdrawCardNo;
	
	/**
	 * 业务类型描述
	 * 
	 */
	protected String businessTypeDes;
	
	public String getPlatChannelIdDesc() {
		return platChannelIdDesc;
	}

	public void setPlatChannelIdDesc(String platChannelIdDesc) {
		this.platChannelIdDesc = platChannelIdDesc;
	}

	public String getPlatChannelId() {
		return platChannelId;
	}

	public void setPlatChannelId(String platChannelId) {
		this.platChannelId = platChannelId;
	}

	public String getBusinessType() {
		return businessType;
	}

	public void setBusinessType(String businessType) {
		this.businessType = businessType;
	}

	/**
	 * @return withdraw_order_id
	 */
	public String getWithdrawOrderId() {
		return withdrawOrderId;
	}

	/**
	 * @param withdrawOrderId
	 */
	public void setWithdrawOrderId(String withdrawOrderId) {
		this.withdrawOrderId = withdrawOrderId;
	}

	/**
	 * @return user_id
	 */
	public String getPayerUserId() {
		return payerUserId;
	}

	/**
	 * @param userId
	 */
	public void setPayerUserId(String payerUserId) {
		this.payerUserId = payerUserId;
	}

	/**
	 * @return account_id
	 */
	public String getAccountId() {
		return accountId;
	}

	/**
	 * @param accountId
	 */
	public void setAccountId(String accountId) {
		this.accountId = accountId;
	}

	/**
	 * @return withdraw_amount
	 */
	public BigDecimal getWithdrawAmount() {
		return withdrawAmount;
	}

	/**
	 * @param withdrawAmount
	 */
	public void setWithdrawAmount(BigDecimal withdrawAmount) {
		this.withdrawAmount = withdrawAmount;
	}

	/**
	 * @return pay_amount
	 */
	public BigDecimal getPayAmount() {
		return payAmount;
	}

	/**
	 * @param payAmount
	 */
	public void setPayAmount(BigDecimal payAmount) {
		this.payAmount = payAmount;
	}

	/**
	 * @return withdraw_fee
	 */
	public BigDecimal getWithdrawFee() {
		return withdrawFee;
	}

	/**
	 * @param withdrawFee
	 */
	public void setWithdrawFee(BigDecimal withdrawFee) {
		this.withdrawFee = withdrawFee;
	}

	/**
	 * @return the withdrawTypeStr
	 */
	public String getWithdrawTypeStr() {
		return withdrawTypeStr;
	}

	/**
	 * @param withdrawTypeStr the withdrawTypeStr to set
	 */
	public void setWithdrawTypeStr(String withdrawTypeStr) {
		this.withdrawTypeStr = withdrawTypeStr;
	}

	/**
	 * @return the withdrawStatusStr
	 */
	public String getWithdrawStatusStr() {
		return withdrawStatusStr;
	}

	/**
	 * @param withdrawStatusStr the withdrawStatusStr to set
	 */
	public void setWithdrawStatusStr(String withdrawStatusStr) {
		this.withdrawStatusStr = withdrawStatusStr;
	}

	/**
	 * @return refer_user_id
	 */
	public String getReferUserId() {
		return referUserId;
	}

	/**
	 * @param referUserId
	 */
	public void setReferUserId(String referUserId) {
		this.referUserId = referUserId;
	}

	/**
	 * @return channel_id
	 */
	public String getChannelId() {
		return channelId;
	}

	/**
	 * @param channelId
	 */
	public void setChannelId(String channelId) {
		this.channelId = channelId;
	}

	/**
	 * @return bank_id
	 */
	public String getBankId() {
		return bankId;
	}

	/**
	 * @param bankId
	 */
	public void setBankId(String bankId) {
		this.bankId = bankId;
	}

	/**
	 * @return add_time
	 */
	public Date getAddTime() {
		return addTime;
	}

	/**
	 * @param addTime
	 */
	public void setAddTime(Date addTime) {
		this.addTime = addTime;
	}

	/**
	 * @return update_time
	 */
	public Date getUpdateTime() {
		return updateTime;
	}

	/**
	 * @param updateTime
	 */
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	/**
	 * @return pay_time
	 */
	public Date getPayTime() {
		return payTime;
	}

	/**
	 * @param payTime
	 */
	public void setPayTime(Date payTime) {
		this.payTime = payTime;
	}

	/**
	 * @return the withdrawChannelStr
	 */
	public String getWithdrawChannelStr() {
		return withdrawChannelStr;
	}

	/**
	 * @param withdrawChannelStr the withdrawChannelStr to set
	 */
	public void setWithdrawChannelStr(String withdrawChannelStr) {
		this.withdrawChannelStr = withdrawChannelStr;
	}

	/**
	 * @return the innerStatusStr
	 */
	public String getInnerStatusStr() {
		return innerStatusStr;
	}

	/**
	 * @param innerStatusStr the innerStatusStr to set
	 */
	public void setInnerStatusStr(String innerStatusStr) {
		this.innerStatusStr = innerStatusStr;
	}

	/**
	 * @return source_ip
	 */
	public String getSourceIp() {
		return sourceIp;
	}

	/**
	 * @param sourceIp
	 */
	public void setSourceIp(String sourceIp) {
		this.sourceIp = sourceIp;
	}

	/**
	 * @return notify_url
	 */
	public String getNotifyUrl() {
		return notifyUrl;
	}

	/**
	 * @param notifyUrl
	 */
	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}

	/**
	 * @return return_url
	 */
	public String getReturnUrl() {
		return returnUrl;
	}

	/**
	 * @param returnUrl
	 */
	public void setReturnUrl(String returnUrl) {
		this.returnUrl = returnUrl;
	}

	/**
	 * @return order_id
	 */
	public String getOrderId() {
		return orderId;
	}

	/**
	 * @param orderId
	 */
	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}

	/**
	 * @return the verifyTypeStr
	 */
	public String getVerifyTypeStr() {
		return verifyTypeStr;
	}

	/**
	 * @param verifyTypeStr the verifyTypeStr to set
	 */
	public void setVerifyTypeStr(String verifyTypeStr) {
		this.verifyTypeStr = verifyTypeStr;
	}

	/**
	 * @return verify_user_id
	 */
	public String getVerifyUserId() {
		return verifyUserId;
	}

	/**
	 * @param verifyUserId
	 */
	public void setVerifyUserId(String verifyUserId) {
		this.verifyUserId = verifyUserId;
	}

	/**
	 * @return verify_user_name
	 */
	public String getVerifyUserName() {
		return verifyUserName;
	}

	/**
	 * @param verifyUserName
	 */
	public void setVerifyUserName(String verifyUserName) {
		this.verifyUserName = verifyUserName;
	}

	/**
	 * @return verify_ip
	 */
	public String getVerifyIp() {
		return verifyIp;
	}

	/**
	 * @param verifyIp
	 */
	public void setVerifyIp(String verifyIp) {
		this.verifyIp = verifyIp;
	}

	/**
	 * @return remark
	 */
	public String getRemark() {
		return remark;
	}

	/**
	 * @param remark
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getBindNo() {
		return bindNo;
	}

	public void setBindNo(String bindNo) {
		this.bindNo = bindNo;
	}

	public String getWithdrawTime() {
		return withdrawTime;
	}

	public void setWithdrawTime(String withdrawTime) {
		this.withdrawTime = withdrawTime;
	}

	public byte getBusniessId() {
		return busniessId;
	}

	public void setBusniessId(byte busniessId) {
		this.busniessId = busniessId;
	}

	/**
	 * @return the busniessStatusStr
	 */
	public String getBusniessStatusStr() {
		return busniessStatusStr;
	}

	/**
	 * @param busniessStatusStr the busniessStatusStr to set
	 */
	public void setBusniessStatusStr(String busniessStatusStr) {
		this.busniessStatusStr = busniessStatusStr;
	}

	public String getWithdrawWay() {
		return withdrawWay;
	}

	public void setWithdrawWay(String withdrawWay) {
		this.withdrawWay = withdrawWay;
	}

	public String getWithdrawCardNo() {
		return withdrawCardNo;
	}

	public void setWithdrawCardNo(String withdrawCardNo) {
		this.withdrawCardNo = withdrawCardNo;
	}

	public String getBusinessTypeDes() {
		return businessTypeDes;
	}

	public void setBusinessTypeDes(String businessTypeDes) {
		this.businessTypeDes = businessTypeDes;
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "OrderWithdraw [withdrawOrderId=" + withdrawOrderId
				+ ", payerUserId=" + payerUserId + ", accountId=" + accountId
				+ ", withdrawAmount=" + withdrawAmount + ", payAmount="
				+ payAmount + ", withdrawFee=" + withdrawFee
				+ ", withdrawTypeStr=" + withdrawTypeStr
				+ ", withdrawStatusStr=" + withdrawStatusStr + ", referUserId="
				+ referUserId + ", channelId=" + channelId + ", bankId="
				+ bankId + ", addTime=" + addTime + ", updateTime="
				+ updateTime + ", payTime=" + payTime + ", withdrawChannelStr="
				+ withdrawChannelStr + ", innerStatusStr=" + innerStatusStr
				+ ", sourceIp=" + sourceIp + ", notifyUrl=" + notifyUrl
				+ ", returnUrl=" + returnUrl + ", orderId=" + orderId
				+ ", verifyTypeStr=" + verifyTypeStr + ", verifyUserId="
				+ verifyUserId + ", verifyUserName=" + verifyUserName
				+ ", verifyIp=" + verifyIp + ", remark=" + remark + ", bindNo="
				+ bindNo + ", withdrawTime=" + withdrawTime + ", busniessId="
				+ busniessId + ", busniessStatusStr=" + busniessStatusStr
				+ ", platChannelId=" + platChannelId + ", businessType="
				+ businessType + ", withdrawWay=" + withdrawWay
				+ ", withdrawCardNo=" + withdrawCardNo + ", businessTypeDes="
				+ businessTypeDes + "]";
	}
	
}
